package com.kimehwa.studyboot.basejava;

/**
 * 其实static的本质上是不能够传递this，因为方法是在方法区调用的，java中隐含的传递this了
 *
 */
public class StaticDemo {
    public static void main(String[] args) {
        /**
         * new一个子类对象
         * 我们知道，子类对象实例化时，会隐式调用父类的无参构造
         * 所以Father里的System.out.println()会执行
         * 猜猜打印的内容是什么？
         *
         * com.kimehwa.studyboot.basejava.Son
         * com.kimehwa.studyboot.basejava.Daughter
         *
         * 其实就是方法调用传参，本质与子类调用方法给父类传参是一样的
         *
         */
        Son son = new Son();

        Daughter daughter = new Daughter();
    }

}
class Father{
    public Father(){
        System.out.println(this.getClass().getName());
    }
}
class Son extends Father{}

class Daughter extends Father{}
